#ifndef _HANDSHAKETHREADPOOL_H
#define _HANDSHAKETHREADPOOL_H

#include "HandshakeTaskQueue.h"
#include "thread"
#include "thread.h"

#include <condition_variable>
#include <cstddef>
#include <iostream>
#include <memory>
#include <mutex>
#include <queue>
#include <stdio.h>
#include <stdlib.h>
#include <thread>
#include <vector>

namespace droneswarm
{
    class HandshakeThreadPool
    {

    public:
        HandshakeThreadPool( int num );
        ~HandshakeThreadPool();

        void start();
        std::vector< std::unique_ptr< Thread > > &getThreadPool() { return threadsPool_; }

    private:
        bool started_;  //标识线程池是否已经启动
        int numThreads_;
        std::vector< std::unique_ptr< Thread > > threadsPool_;
    };
}  // namespace droneswarm
#endif